using System;
using System.Threading.Tasks;
using Phoenix.ActionResults;

namespace Phoenix.Tests
{
    public class BuilderController : Controller
    {
        public virtual ActionResult Action()
        {
            return Nothing();
        }

        public virtual ActionResult Action(int arg)
        {
            return Nothing();
        }

        public virtual Task<ActionResult> ActionAsync()
        {
            return null;
        }

        public virtual Task<PageActionResult> PageActionAsync()
        {
            return null;
        }

        public virtual Task<ActionResult> ActionAsync(int arg)
        {
            return null;
        }

        public virtual Task<PageActionResult> PageActionAsync(int arg)
        {
            return null;
        }

        public virtual PageActionResult PageAction()
        {
            return null;
        }

        public virtual PageActionResult PageAction(int arg)
        {
            return null;
        }

        public virtual ActionResult Action(int arg1, int commandArg)
        {
            return null;
        }

        public virtual PageActionResult PageAction(int i, int commandArg)
        {
            return null;            
        }

        public virtual Task<ActionResult> ActionAsync(int i, int commandArgs)
        {
            return null;
        }

        public virtual Task<PageActionResult> PageActionAsync(int i, int commandArgs)
        {
            return null;
        }
    }
}